const path =require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
const CopyWebpackPlugin =require('copy-webpack-plugin')

module.exports={
    entry:'',
    output:{
        path:path.join(__dirname,'./build'),
    },
    mode:'none',  

    module:{
        rules:[
            // 加载器1：处理js模块
            // 实现浏览器兼容（ES6+编译成ES5）
            {
                test:/\.js$/,
                use:{
                    loader:'babel-loader',
                    options:{
                        presets:['@babel/preset-env']
                    }
                }
            },

            // 加载器2：处理css模块
            {
                test:/\.css$/,
                use:[
                    'style-loader',
                    'css-loader',
                    {
                        loader:'postcss-loader',
                        options:{
                            postcssOptions:{
                                plugins:['autoprefixer'],//自动添加浏览器前缀
                            }
                        }
                    }
                ]
            },

            // 加载器3：scss编译
            {
                test:/\.s[ac]ss$/,
                use:['style-loader','css-loader','sass-loader']
            },

            // 加载器4：图片编译
            {
                test:/\.(png|jpe?g|gif|svg|webp)(\?.*)?$/,
                use:{
                    loader:'url-loader',
                    options:{
                        limit:8000,
                        name:'img/[name].[hash:5].[ext]' 
                    }
                }
            }
        ]
    },
    devServer:{
        proxy:{
            '/offer':{
                target:'http://localhost:3000 ',
                changeOrigin:true,
                pathRewrite:{
                    '^/api/proxy': ''
                }
            }
        },
        port: 9090,
    },
    plugins:[
        new HtmlWebpackPlugin(),
        new CleanWebpackPlugin(),
    ]
}